home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / util / misc / PatchGenSrc.lha / PatchGen.doc < prev    next >
Text File  |  1995-05-08  |  6KB  |  145 lines

  1.  
  2.                                 Patch Generator
  3.  
  4.                  (c) 1994 Martin Mares, MJSoft System Software
  5.  
  6. ================================================================================
  7.  
  8.  
  9. Preface
  10. =======
  11.  
  12.    PatchGen, PatchGenL, Patcher and their documentation are Copyright (c) Martin
  13. Mares, MJSoft System Software, Prague, Czech Republic.
  14.  
  15.    This  archive  can  be  freely  redistributed as long as all of its files are
  16. included   in   their   original   form  without  any  additions,  deletions  or
  17. modifications  (excluding addition of other README-style files and icons) and no
  18. more  than a nominal fee is charged for its distribution.  All copyright notices
  19. in  the  programs and accompanying documentation files must remain intact.  It's
  20. especially  forbidden  to add various '.displayme' files and BBS advertisements.
  21. This style of distribution is generally known as FREEWARE.
  22.  
  23.    The only exception to this rule is the Patcher executable which can be spread
  24. without any restrictions in its original unmodified form in any kind of software
  25. package (including commercial products).
  26.  
  27.    Source  text of all programs is included in the distribution.  You can freely
  28. improve  it.   If  you  want  to  distribute your improved version, there're two
  29. possibilities:   (1)  Send  your  improvements  to  me  (the best form is a diff
  30. output)  and  I'll include them in the next release.  (2) Distribute them alone.
  31. In  this  case, you must mention the name of original author, change the name of
  32. the  product  (not  only  by  increasing  the  version),  and  obey  all  of the
  33. distribution rules mentioned above.
  34.  
  35.    This  software  is  provided  "AS  IS"  without  warranty of any kind, either
  36. expressed  or  implied.   The author is not responsible for any damage caused by
  37. it.
  38.  
  39.  
  40. Introduction
  41. ============
  42.  
  43.    Many people distribute new versions of software. This task can be done in two
  44. significantly different ways:
  45.  
  46.    (1) Redistributing all files.  This method is simple, the user has no need to
  47. have  the  older  version  to install the new one.  But the archives are usually
  48. lengthy and consume much disk space.
  49.  
  50.    (2)  Distribution of patches.  When this method is used, only the differences
  51. between  the  previous  version and the recent one are distributed.  The updates
  52. require  much  less disk space, but the user needs to have the previous version.
  53. This  turns  out  to  be  an  advantage  when distributing updates of commercial
  54. software,  because  the  new version is available only to legal users which have
  55. the old one.  Also third-party patches to commercial software can be spread this
  56. way legally.
  57.  
  58.    If  you want to use the second method of distribution, you need some software
  59. to generate and apply the patches.  There are already some patch generators (for
  60. example lpatch), but they're usually very slow, their size is not so small as it
  61. could  be  if  they  were  written  better and the products itself are big.  The
  62. solution is ...  PatchGen!
  63.  
  64.    PatchGen eliminates at least of the previously mentioned disadvantages -- its
  65. patch  files  are  relatively short and the programs themself are very small and
  66. run  under any version of AmigaDOS starting with 1.2 (I think it would work also
  67. under 1.1, but I have never seen this kickstart.  If you have it, let me know!).
  68.  
  69.  
  70. Requirements
  71. ============
  72.  
  73.    - Kickstart 1.2 or higher.
  74.  
  75.    - arp.library - it's required only by the patch generators. Patcher runs
  76. without it.
  77.  
  78.    - 68000 or higher
  79.  
  80.  
  81. Generating patches
  82. ==================
  83.  
  84.    There  are  two  patch  generators  in this archive:  PatchGen and PatchGenL.
  85. Both  of  them  produce  the  same  patch  file  format, but they use a slightly
  86. different algorithm.  For small files, use PatchGen.  For large files, PatchGenL
  87. could produce better results and might be faster.
  88.  
  89.    Usage:
  90.  
  91.        PatchGen[L] <file1> <file2> <dest> [CHANGE]
  92.  
  93.   <file1> - the older file
  94.   <file2> - the newer file (PatchGen will produce a patch to create <file2> from
  95. <file1>.
  96.    <dest> - file to write the patch table to
  97.    CHANGE  -  in some cases, the versions are too different to get a patch table
  98. of reasonable size, but you _want_ to make the new file dependent on the old one
  99. (commercial  software, grr!).  In this case, specify the CHANGE option.  The new
  100. file  will  be stored in simple way, but it will be encrypted by contents of the
  101. older  file  which makes it impossible to create the new file without having the
  102. old one.
  103.  
  104.    Some dots will be printed as a progress indicator.
  105.  
  106.    Warning:   Creation  of  patch  tables  requires a lot of memory -- a size of
  107. <file1> plus two times size of <file2>.
  108.  
  109.  
  110. Applying patches
  111. ================
  112.  
  113.    To apply the patches, enter:
  114.  
  115.        Patcher <file1> <file2> <patchtab>
  116.  
  117.    This  command  transforms <file1> to <file2> using given patch table produced
  118. by  PatchGen or PatchGenL.  The <file1> is checked to be the correct source file
  119. by comparing its checksum with the one stored in the patch file.
  120.  
  121.    Memory requirements: <file1> + <file2> + <patchfile>. (a lot of, grr!)
  122.  
  123.  
  124. History
  125. =======
  126.  
  127.    This release has exactly the same programs as the first one had, only the
  128. source texts have been added.
  129.  
  130.  
  131. Notes
  132. =====
  133.  
  134.    This  program  is  not the best solution if searching for differences between
  135. two text files.  In this case, it would be better to use GNU diff.
  136.  
  137.    Plans:
  138.  
  139.        - New version of Patcher eating less memory.
  140.  
  141.        - Faster searching algorithms.
  142.  
  143.    Send suggestions, bug reports and flames to <mj@k332.feld.cvut.cz>.
  144.  
  145.